#include "ht.h"

#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

int main(int argc, char **argv) {
  if (argc != 2) {
    cerr << "Usage " << argv[0]
	 << " index_file" << endl;
    return 0;
  }
  char *index_file = argv[1];

  fstream fi_in;
  fi_in.open(index_file,ios::in); // modo lectura
  if (!fi_in) {
    cerr << "Error opening " << index_file << endl;
    return 0;
  }

  hash_table H(hash_division,3001,1.0);

  const int SIZE=512;
  char f_imagen[SIZE], description[SIZE];
  const char *pdescription;
  while (fi_in.getline(f_imagen,SIZE,' ') &&
	 fi_in.getline(description,SIZE)) {
    fstream fi_imagen(f_imagen,ios::in); // modo lectura
    ImagenColor * ima = new ImagenColor(fi_imagen);
    if (!H.search(ima, pdescription))
      H.insert(ima, description);
    delete ima; // la borramos, si se inserto se hizo una copia
  }
  fi_in.close();

  H.get_histogram(cout);

  return 0;
}

